1. Field of the Invention
The present invention relates to automated systems and methods for recommending items to users. More particularly, the invention relates to an adaptive network-based system and methods for predicting ratings for items of media content according to how likely they are to appeal to a user. The invention integrates multiple prediction algorithms and provides heuristics for selecting the most suitable algorithm for making a prediction for any single item, creating a suggestion and rating system having exceptional robustness and predictive accuracy.
2. Description of the Prior Art
The prior art provides various systems for filtering, suggesting and rating. Filtering, suggesting and rating, while they may employ similar methods, constitute separate challenges. In the presence of a large amount of content, be it merchandise, or videos, or newsgroup articles, filtration systems aim to limit the amount of content a user deals with, by presenting only that content that correlates most closely with the users preferences. As such, their essential function is one of exclusion. Suggestion systems aim to direct a user's attention to items they may not have been aware of that are likely to appeal to them, based on their preferences. Thus, their essential function is one of inclusion. Rating systems assign ratings to content items, according to a user's expressed preferences. Hence, their essential function is one of ordering. Occasionally, systems are provided that are capable of performing more than one of the essential functions of excluding, including and ordering.
Some of the prior art examples are adaptive in nature; that is, they are capable of accommodating themselves to changing conditions, in a process that is analogous to learning. For example, over time, a user's preferences may change, sometimes gradually, and sometimes abruptly. Adaptive systems have the capacity to adapt to a user's changing preferences without any explicit input from the user. Often, adaptive systems must be taught, that is, their engines must be initialized with starting values. The teaching process usually consists of the user explicitly indicating their preferences. After being taught, adaptive systems make inferences by monitoring various implicit indicators or the user's preferences.
H. Strubbe, System and method for automatically correlating user preferences with a T.V. program information database, U.S. Pat. No. 5,223,924 (Jun. 29, 1993) and H. Strubbe, System and method for finding a movie of interest in a large movie database, U.S. Pat. No. 5,483,278 (Jan. 9, 1996) provide systems for rating movies and television programs by a user and correlating program information for unrated programs with the user's ratings, so that a program database customized to the user may be created. To rate the programs, the user accesses program information either by time slot or channel, and assigns a Boolean rating of “like” or “dislike.” A free-text search algorithm searches a text summary in the program information records rated by the user. The significant words of the text summary are tallied and weighted. A free-text search of unrated records is performed, and a retrieval values is computed. Records with retrieval values are judged to be programs likely to appeal to the user and are added to the database of preferred programs. While the described systems effectively allow the user to filter television programming and movies, it would be desirable to provide a scalar rating system, in which the user is able to express degrees of preference rather than a simple ‘yes’ or ‘no.’ Since free-text searches are computationally expensive, it would be advantageous to provide a more efficient, content-based algorithm. It would also be desirable to provide different types or predictive algorithms, thereby increasing prediction accuracy. In addition to assigning overall ratings to programs, it would be a great advantage to provide the user with the capability of rating individual program features, such as the actors or the director.
F. Herz, J. Eisner, L. Ungar, M. Marcus, System for generation of user profiles for a system for customized electronic identification of desirable objects, U.S. Pat. No. 5,754,939 (May 19, 1998) describes a client server-based system for retrieving items of interest to a user. An interest summary of the user is prepared, by querying the user about their interests. Each target item available over the network is described by a target profile. Target profiles are compared to each other and clustered according to similarity. Clusters and individual target items are compared with the user interest summary. Items likely to be of interest to the user are presented in a ranked listing. The user profile is stored on a proxy server, and security measures are provided to safeguard the user's identity. Relevance feedback is provided by monitoring which items a user expresses interest in. While efforts are made to preserve the user's confidentiality through various security measures, it would be desirable to provide a system in which the user's profile is stored locally, on the client side, and communication between the server and the client is stateless, so that the server is completely ignorant of the user's identity. It would also be desirable to provide a prediction engine on the client side, again rendering a stateful connection between client and server unnecessary. In addition to implicit relevance feedback, it would be an advantage to allow the user to correct their profile, thus allowing even greater predictive accuracy.
G. Graves, B. O'Conner, A. Barker, Apparatus and method of selecting video programs based on viewer's preferences, U.S. Pat. No. 5,410,344 (Apr. 25, 1995) describe a method for selecting television programs according to expressed viewer preferences that employs an adaptive prediction algorithm. Television programs are described in terms of attributes. A viewer explicitly rates different attribute-value pairs, also known as features. Based on these explicit viewer ratings, a neural network rates television programs. Programs with a high enough score are automatically recorded for viewing at a later time. The described method, however, must use explicit ratings, it does not employ or generate implicit ratings. Furthermore, the described method provides only a single prediction algorithm, limiting its versatility and robustness.
J. Hey, System and method for recommending items, U.S. Pat. No. 4,996,642 (Feb. 26, 1991). Employs a conventional collaborative filtering algorithm to recommend movies to a customer from the inventory in a video store. The customer uses a scalar rating system to rate movies they have viewed. The resulting profile is paired with profiles of other customers who have rated at least a portion of those selections rated by the first customer, and an agreement scalar is computed for each of the pairings. Based on these pairings, a group of recommending customers is defined for the first customer. D. Payton, Virtual on-demand digital information delivery system and method, U.S. Pat. No. 5,790,935 (Aug. 4, 1998) describes a digital information system that delivers virtual on-demand information over digital transport systems. A collaborative filtering algorithm predicts content items that might be of interest to each subscriber. A. Chislenko, Y. Lashkari, D. Tiu, M. Metral, J. McNulty, Method and apparatus for efficiently recommending items using automated collaborative filtering and feature-guided automated collaborative filtering, U.S. Pat. No. 6,092,049 (Jul. 18, 2000) describe a method for recommending items to users using automated collaborative filtering. As with the other references described, a conventional collaborative filtering implementation, in which users are correlated to other users, is provided. B. Miller, J. Konstan, J. Riedl, System, method and article of manufacture for utilizing implicit ratings in collaborative filters, U.S. Pat. No. 6,108,493 (Aug. 22, 2000) describe a prediction information system utilizing collaborative filters. Unlike most collaborative filtering implementations, which operate on explicit ratings, the described system utilizes implicit measures. The accuracy of prediction attainable with collaborative filtering has been shown to be quite high. Nevertheless, conventional collaborative filtering implementations all require maintaining user information in a central place, such as on a server, leading to concerns about the user's privacy. Subsequently, similarities between pairs of users are computed on the server. It would be desirable to provide a collaborative filtering implementation based on similarity between pairs of items, rendering it unnecessary to maintain user information on a server, and eliminating the necessity of exchanging state information between client and server.
D. Whiteis, System and method for recommending items to a user, U.S. Pat. No. 5,749,081 (May 5, 1998) describes a system for recommending items of merchandise to a customer at the point of sale based on items already selected. Unlike the collaborative filtering implementations described above, the Whiteis system correlates items, rather than users, by tracking the number of times a pair of items occurs together in the same purchase. Based on the number of times a pair occurs, an adjusted weight is calculated that is taken to be an index of similarity between the two items of the pair. The described system is simple and easily implemented and is well suited for point-of-sale use. However, since similarity is calculated simply on whether a pair occurred in the same purchase, it can only be a very general approximation of similarity. For example, in a video store, a father may be select “Lion King” for his children and “Body Heat” for he and his wife. In the present system, that purchase would be listed as a correlating pair, albeit a weakly correlating pair if it did not occur frequently in the total population of pairs. Furthermore, it would be an advantage to filter the weights to eliminate pairs that correlate weakly. It would also be an advantage to provide information about pairs that anti-correlate.
A. Lang, D Kosak, Information system and method for filtering a massive flow of information entities to meet user information classification needs, U.S. Pat. No. 5,867,799 (Feb. 2, 1999) provide an apparatus, method and computer program product for information filtering in a computer system receiving a data stream from a computer network. Several layers of adaptive filtering are provided, both content-based and collaborative, to ensure that a receiver receives only those content items that correlate very highly with their preferences. There are individual user filters and community filters. The essential function of the system according to Lang, et al. is overwhelmingly one of exclusion, with the multiplicity of filter layers. However in a system, the aim of which is to predict items most likely to appeal to a user, and suggest items likely to appeal to a user, the redundant filtering of the present system would limit the amount of content available to the user, thus limiting user choices rather than providing new and unexpected alternatives.
Thus, there exists a need in the art for a system for predicting a rating for an item according to how much it will appeal to a user. It would be advantageous to provide multiple prediction engines that are capable of providing the most accurate prediction for any particular item. It would be highly desirable to provide a convenient user interface for teaching the system the user's preferences. Furthermore, it would be an advantage for the system to have an adaptive capability, so that it can learn and adapt to shifts in user preferences. It would be desirable to provide a distributed collaborative filtering engine that guaranteed a user's privacy by eliminating the necessity of correlating the user to other user's or groups of users. It would be a great advantage to calculate similarity between items, rather than between users and to perform such calculation on the client side, eliminating the necessity of a stateful connection between the server and the client. It would be a significant technological advance to provide an adaptive modeling prediction engine that accepted both explicit user ratings and had the capability of inferring user ratings in the absence of explicit ratings. It would be a great convenience to display the output of the various prediction engines in a single, integrated list.